home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d5 / pmusic12.arc / UPDATE.TXT < prev   
Text File  |  1990-01-29  |  11KB  |  212 lines

  1. The following enhancements have been made to the Polyphonic Music package 
  2. version 1.0:
  3.  
  4. Playing routines:
  5.  
  6. Version:      Date:        Description:
  7. --------    ---------      ------------                             
  8.  1.01        6/15/89         Relative tempo change implemented. Starting tempo
  9.                                 is modified in the text file by the 'T'
  10.                                 command:
  11.  
  12.                                 Syntax:
  13.  
  14.                                  Tn  -- Changes starting tempo value:
  15.                                         where n = a number between 1 and
  16.                                         8191. n consists of a sum of numbers:
  17.                                         
  18.                                         n = REFVAL + CHANGEVAL
  19.  
  20.                                         REFVAL = 0 or 4096 only.
  21.                                         CHANGEVAL = 1 to 4095 inclusive.
  22.  
  23.                                 How it works:
  24.  
  25.                                  To add an absolute value to current tempo,
  26.                                         call Tn with n = 4096 + amount you
  27.                                         want to add (amount is CHANGEVAL).
  28.                                  To subtract an absolute value from current 
  29.                                         tempo, call Tn with n = 0 + amount 
  30.                                         you want to subtract (amount is 
  31.                                         CHANGEVAL).
  32.  
  33.                              I know this causes crude coding, but it works
  34.                              well! A MakePoly update for Tn and T-n (Tempo 
  35.                              Add and Subtract) is in the works.
  36.  
  37.  1.02        6/15/89         Tempo value now entered in maximal range.
  38.                              The second parameter to playpoly can now have
  39.                              a value in the range of 1 (way too fast) to
  40.                              65535 (or maxint) (way too slow). This addition
  41.                              allows faster computers to use the play 
  42.                              routines with no problem. When using the poly()
  43.                              routine from inside C programs, the first value
  44.                              of the array (whether a command or not) is
  45.                              assumed as a tempo. DO NOT OR (|) the TEMPO value
  46.                              (previously defined in POLY.H) with your tempo! 
  47.                              This will create a tempo which is too long! 
  48.                              Notice the change in POLY.H (and the chord 
  49.                              arrays in POLYCHRD.H). TEMPO define is now 
  50.                              TCHANGE and this command only changes the 
  51.                              starting tempo as decribed above. Note: you must 
  52.                              OR (|) the value of n described above with 
  53.                              TCHANGE (in C programs) to change tempo 
  54.                              effectively. When using the playpoly()/looppoly() 
  55.                              functions the second parameter sent can have 
  56.                              the value 1-65535 described above. You only
  57.                              need to alter your programs if using the poly()
  58.                              function.
  59.  
  60.  1.10        6/19/89         Eureka! This is, what I believe to be, a major
  61.                              breakthrough in the three voice world!
  62.                   
  63.                              By re-vamping the play routine, voice 1 has
  64.                              been diminished in strength greatly. Its volume
  65.                              difference above the other two voices is now
  66.                              only slight, if detectable.
  67.                              
  68.                              The sound quality also turned out incredibly
  69.                              better, as there is minimal "sqwak" (peculiar 
  70.                              beeps, buzzes, and hums). 
  71.                              The playing routines of Polyphonic Music 1.0
  72.                              (as well as VMUSIC, I believe) used this code
  73.                              almost verbatim. Unfortunately his code 
  74.                              (usually) produces a high pitched tone during
  75.                              playing. This can be distracting, as it 
  76.                              diminishes the music quality signifigantly.
  77.                              This version's (1.10) technique seems to
  78.                              have only a dull hum sound every once in a
  79.                              while and few (if any) beeps or high pitched
  80.                              tones in the background. See for yourself!
  81.                              (Compare the sound quality of the old routines
  82.                              - in PlayPoly 1.0 or VMUSIC - to the new one
  83.                              by playing the PACHCAN.SNG. You'll notice the
  84.                              difference).
  85.                              
  86.                              With the improved sound and voice volume
  87.                              qualities, these play routines have gained a
  88.                              greater capability for good use in the PC world.
  89.                              
  90.                              Note: Tried four voices. The noise level 
  91.                              increased signifigantly (so much it distracts!).
  92.                              I have discovered how to possibly allow for up
  93.                              to five voices (if I was using a 386 machine
  94.                              I could do this without noise!). I may implement 
  95.                              it, attempting to obtain minimal noise, although
  96.                              updating the MakePoly routine for 4 or more
  97.                              voices may not appear so quickly!
  98.  
  99.                              P.S. Have discovered an avenue to play
  100.                              up to 16 different voices with little
  101.                              loss to sound quality
  102.                              
  103.  1.20        7/11/89         The playpoly routines (based on poly()) 
  104.                              are now accessable in Turbo Pascal (4.0 and 
  105.                              greater).
  106.  
  107.                              Also some memory allocation bugs fixed.
  108.  
  109.                              Added the polykb() function which checks
  110.                              for a keypress after each note and
  111.                              continues playing only if no keypress 
  112.                              was detected.
  113.                              
  114. MakePoly:
  115.  
  116. Version:      Date:        Description:
  117. --------    ---------      ------------
  118.  1.01         6/14/89         An allowance has been made for RELATIVE
  119.                   change of tempo (see Playing routines update 
  120.                   1.01 above). No specific interpretation 
  121.                   (i.e. T-n) of the text music file has been 
  122.                   implemented yet; only the crude implementation 
  123.                   described above.
  124.                   
  125.  1.02        6/15/89         To add compatability with the VMUSIC software,
  126.                   MakePoly now allows comments to be delimited
  127.                   by the '!' character. MakePoly interprets this
  128.                   character in an identical fashion as the '*'
  129.                   character. Unlike VMUSIC however, the beginning
  130.                   and ending comment delimiters need not be
  131.                   on the SAME line. Comments can go on for several
  132.                   lines. Note: You must use the same closing
  133.                   character as the opening one for comments, i.e.
  134.                   the comment '* voice 1: !' is invalid because
  135.                   the '!' is not recognized as the close of a '*'
  136.                   comment.
  137.                   
  138.                   Example:
  139.                   
  140.                   v1o3 eefg bcdef a2g2
  141.                   * 
  142.                   then it repeats
  143.                   *
  144.                   v1o3 eefg bcdef a2g2
  145.                   
  146.  1.03         6/16/89         Again to add compatability with VMUSIC, MakePoly
  147.                   now supports the printable comment feature which
  148.                   prints the text delimited by '$' characters to
  149.                   screen while compiling to a ".ply" file. Again,
  150.                   unlike VMUSIC, the starting and ending '$' need
  151.                   not be on the SAME line (but MakePoly will still
  152.                   print a line feed at the start of a printable
  153.                   comment if they are).
  154.                   
  155.                   To further compatability with BASIC (the 
  156.                   language which MakePoly's commands were derived
  157.                   from), the '?' character also will delimit
  158.                   printable comments. Since, in BASIC, the '?'
  159.                   represents "print", it is suggested to use
  160.                   the '?' character in the music text file 
  161.                   for clarity.
  162.                   
  163.                   Example:
  164.                   
  165.                   v1o3 aagg fefe a2a2
  166.                   $
  167.                       Line One: la la so so fa mi fa mi la.. la..
  168.                   $
  169.                   v1o5 ccdd eeff g2g2
  170.                   ?
  171.                       Line Two: do do re re mi mi fa fa so.. so..
  172.                   ?
  173.                   
  174.  1.04         7/9/89         Bug fixed in MAKEPOLY.  It wouldn't provide
  175.                   for one voice songs (the bug caused notes of 
  176.                   indefinate length).  One voice songs can now
  177.                   be played (any voice) [I thought I fixed this
  178.                   bug once before!].
  179.  
  180.  1.10        7/9/89          Relative pitch values implemented!  Now when
  181.                   a song is compiled, the 'frequency' of the
  182.                   Middle C note can be set (in the MAKEPOLY.EXE
  183.                   command line) and all other 'frequencies' are
  184.                   derived from this value (these are not true HERTZ
  185.                   frequencies, only computer values).
  186.                   It is implemented as follows:
  187.                   
  188.                   MAKEPOLY <textfile> [<polyfile>] [/nval]
  189.                   
  190.                   where: <textfile>,<polyfile> are unchanged
  191.                           (see POLY.DOC).
  192.                           nval = 'frequency' to set middle C at.
  193.                                  nval can be in the range of 1
  194.                                  to 8191 although, nval values at
  195.                                  the extremes (1-150,7000-8191)
  196.                                  may produce crude sounds when
  197.                                  playing other octaves than the 
  198.                                  middle one. If this parameter is
  199.                                  not specified nval = 390 is assumed.
  200.                                  This value is the true HERTZ value
  201.                                  of middle C on a Turbo XT.
  202.                                  Higher values produce higher 
  203.                                  pitches; lower values produce lower
  204.                                  pitches.
  205.                   
  206.                   So if pitches seem too high on your machine,
  207.                   try halving 390 (195).  If too low, try doubling
  208.                   390 (780).  Try using this function and let me
  209.                   know how it works and next update I can implement
  210.                   the processor check to return a ballpark value
  211.                   for this parameter.
  212.